#ifndef PLAYERSTATUS_H_
#define PLAYERSTATUS_H_

#include <string>
#include "ariba/ariba.h"

using namespace ariba;
using std::string;

using_serialization;

class PlayerStatus : public Message {
	VSERIALIZEABLE;

public:
	PlayerStatus();
	PlayerStatus(string player);
	PlayerStatus(string player, uint32_t positionX, uint32_t positionY, uint32_t timestamp);
	virtual ~PlayerStatus();
    string getPlayer() const;
    uint32_t getPositionX() const;
    uint32_t getPositionY() const;
    uint32_t getTimestamp() const;
    void setPlayer(string player);
    void setPositionX(uint32_t positionX);
    void setPositionY(uint32_t positionY);
    void setTimestamp(uint32_t timestamp);

private:
	string player;
	uint32_t positionX;
	uint32_t positionY;
	uint32_t timestamp;
};

sznBeginDefault( PlayerStatus, X ) {
	X && T(player) && timestamp && positionX && positionY;
} sznEnd();

#endif /* PLAYERSTATUS_H_ */
